Security system with traffic monitoring

ABSTRACT

The present disclosure relates to approaches for providing real time traffic information to a user using a control panel of a building automation system. The control panel includes a processor, a memory in electronic communication with the processor, and instructions stored in the memory that are executable by the processor to couple the control panel to at least one of a sensor and a controller of the building automation system, receive traffic data for a geographic area associated with the control panel, and generate at least one audible notification to communicate the traffic data to a user through the control panel.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/209,741, filed Mar. 13, 2014 and entitled SECURITY SYSTEM WITHTRAFFIC MONITORING, which claims the benefit of the filing date of U.S.Provisional Application No. 61/793,818, filed Mar. 15, 2013, andentitled SECURITY SYSTEM WITH TRAFFIC MONITORING, which is assigned tothe assignee hereof. The disclosures of each of which are incorporatedby reference herein in their entireties.

TECHNICAL FIELD

This disclosure relates generally to building automation and securitysystems and, more specifically, to building automation and securitysystems with traffic monitoring.

BACKGROUND

Security systems are widely used to protect property and providepersonal safety. Security systems generally include a control unit thatcontrols the overall operation of the system, one or more keypadsproviding user access to the system, and various detectors and sensors.

Security systems may generate an alarm in response to any number ofevents, such as unauthorized entry, fire, medical emergency or manualalarm activation. The security system may be associated with a servicethat remotely monitors the status of the security system. Thus, if thesecurity system generates an alarm, a notification signal may betransmitted via a wired and/or wireless communications link to amonitoring system. Upon receiving the notification, security servicepersonnel for the monitoring system may attempt to contact the propertyowner or other party at the facility to verify the alarm. If it isappropriate to do so, a security service representative may, uponconfirmation of the alarm, contact an emergency response agency such asthe police department, the fire department, an emergency medical team,or other appropriate entity.

As security systems take on larger roles in the lives of the personsowning them, the security system and its components have an opportunityto take on new roles. For example, the security system may also providesome building automation functions. As disclosed herein, one possiblenew role is providing additional information about traffic conditionsfor the users of the security system.

SUMMARY

Methods and systems are described for communicating traffic data to auser of a building automation system. According to at least oneembodiment, a control panel for a building automation system includes aprocessor, a memory in electronic communication with the processor, andinstructions stored in the memory that are executable by the processorto couple the control panel to at least one of a sensor and a controllerof the building automation system, receive traffic data for a geographicarea associated with the control panel, and generate at least oneaudible notification to communicate the traffic data to a user throughthe control panel.

In one example, the instructions may be executable by the processor todisplay a map comprising at least a portion of the geographic area on adisplay of the control panel, and overlay a visual representation of thetraffic data onto the map. The at least one audible notification mayinclude at least one of directions to a specified destination andestimated travel time to a specified destination. The at least oneaudible notification may relate to traffic conditions on one or morepredetermined routes. The instructions may be executable by theprocessor to automatically communicate the traffic data to the userthrough the control panel during at least one predefined time period. Afirst predefined time period may correspond to a morning commute timeperiod and a second predefined time period may correspond to an eveningcommute time period.

In another example, the instructions may be executable by the processorto communicate the traffic data to the user through at least one devicecommunicatively coupled to the control panel. The at least one devicemay include at least one of a television, a clock, a radio, and a mobileelectronic device. The instructions may be executable by the processorto communicate a suggested route to a destination based on the trafficdata. Communicating the suggested route may include sending thesuggested route to a mobile electronic device in response to detecting adeparture of the user associated with the suggested route. The trafficdata may include traffic incidents, and the instructions may beexecutable by the processor to communicate the traffic incidents to theuser. The traffic data may be received from a remote server. Thegeographic area may be one of a neighborhood, a city, a county, and auser-defined geographic area.

Another embodiment relates to a computer-program product forcommunicating traffic data. The computer-program product includes anon-transitory computer-readable medium storing instructions executableby a processor to receive traffic data of interest to a user of acontrol unit for a home automation system, and automatically communicatethe traffic data to the user through the control panel during at leastone predefined time period.

In one example, a first predefined time period may correspond to amorning commute time period and a second predefined time period maycorrespond to an evening commute time period. The instructions may beexecutable by a processor to display a map of a geographic area on adisplay unit of the control unit, and overlay a graphical representationof at least a portion of the traffic data over the map of the geographicarea displayed on the display unit. The instructions may be executableby a processor to determine at least one suggested route to adestination, and estimate an amount of time for traveling the at leastone suggested route. The instructions may be executable by a processorto receive an actual time for traveling a suggested route to adestination from a mobile electronic device of a user traveling thesuggested route, and associate the actual time with the traffic data fordetermining future suggested routes.

A further embodiment relates to a computer-implemented method forcommunicating traffic data to a user. The method includes receivingtraffic data for a geographic area associated with a control unit for ahome automation system, receiving a destination from a user of the homeautomation system, displaying traffic conditions along at least oneroute from a location of the control unit to the destination on adisplay of the control unit, and estimating a travel time for each ofthe at least one routes and communicating information about the at leastone route having a shortest travel time as a suggested route for theuser. The method may also include automatically sending the suggestedroute to a mobile electronic device of the user.

The foregoing has outlined rather broadly the features and technicaladvantages of examples according to the disclosure in order that thedetailed description that follows may be better understood. Additionalfeatures and advantages will be described hereinafter. The conceptionand specific examples disclosed may be readily utilized as a basis formodifying or designing other structures for carrying out the samepurposes of the present disclosure. Such equivalent constructions do notdepart from the spirit and scope of the appended claims. Features whichare believed to be characteristic of the concepts disclosed herein, bothas to their organization and method of operation, together withassociated advantages will be better understood from the followingdescription when considered in connection with the accompanying figures.Each of the figures is provided for the purpose of illustration anddescription only, and not as a definition of the limits of the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

A further understanding of the nature and advantages of the embodimentsmay be realized by reference to the following drawings. In the appendedfigures, similar components or features may have the same referencelabel. Further, various components of the same type may be distinguishedby following the reference label by a dash and a second label thatdistinguishes among the similar components. If only the first referencelabel is used in the specification, the description is applicable to anyone of the similar components having the same first reference labelirrespective of the second reference label.

FIG. 1 illustrates an embodiment of a security system;

FIG. 2 is a block diagram of an embodiment of a control unit of asecurity system that includes a traffic module;

FIG. 3 is a schematic block diagram illustrating one embodiment of acontrol unit communicating traffic data to a user;

FIG. 4 is a schematic block diagram illustrating one embodiment of asecurity system for communicating traffic data to a user;

FIG. 5 is a schematic block diagram illustrating one embodiment of asecurity system for communicating traffic data to a user that includes aremote server and traffic data sources;

FIG. 6 is an illustration of the output of a provided code sample forproviding traffic data to a user;

FIG. 7 is a flow diagram illustrating one embodiment of a method forcommunicating traffic data to a user;

FIG. 8 is a flow diagram illustrating another embodiment of a method forcommunicating traffic data to a user;

FIG. 9 is a flow diagram illustrating another embodiment of a method forcommunicating traffic data to a user;

FIG. 10 is a flow diagram illustrating another embodiment of a methodfor communicating traffic data to a user; and

FIG. 11 is a block diagram of a computer system suitable forimplementing the present systems and methods of FIGS. 1-10.

While the embodiments described herein are susceptible to variousmodifications and alternative forms, specific embodiments have beenshown by way of example in the drawings and will be described in detailherein. However, the exemplary embodiments described herein are notintended to be limited to the particular forms disclosed. Rather, theinstant disclosure covers all modifications, equivalents, andalternatives falling within the scope of the appended claims.

DETAILED DESCRIPTION

Referring in general to the accompanying drawings, various embodimentsof the present invention are illustrated to show the structure andmethods for installing a component within a system, such as a securitysystem and/or an automation system. The systems disclosed herein may begenerically referred to as automation systems, which may or may notinclude security features, automation features, and relatedfunctionality. The terms “automation” and “security” as they relate tothe feature and functionality of the disclosed systems may be usedinterchangeably. Common elements of the illustrated embodiments aredesignated with like numerals. It should be understood that the figurespresented are not meant to be illustrative of actual views of anyparticular portion of the actual device structure, but are merelyschematic representations which are employed to more clearly and fullydepict embodiments of the invention.

The following provides a more detailed description of ways to implementthe present invention and various representative embodiments thereof. Inthis description, functions may be shown in block diagram form in ordernot to obscure the present disclosure in unnecessary detail.Additionally, block definitions and partitioning of logic betweenvarious blocks is exemplary of a specific implementation. It will bereadily apparent to one of ordinary skill in the art that the presentinvention may be practiced by numerous other solutions. For the mostpart, details concerning timing considerations and the like have beenomitted where such details are not necessary to obtain a completeunderstanding of the present invention and are within the abilities ofpersons of ordinary skill in the relevant art.

In this description, some drawings may illustrate signals as a singlesignal for clarity of presentation and description. It will beunderstood by a person of ordinary skill in the art that the signal mayrepresent a bus of signals, wherein the bus may have a variety of bitwidths and the present invention may be implemented on any number ofdata signals including a single data signal.

FIG. 1 illustrates an embodiment of an automation system 100, which mayalso be referred to as an “alarm system,” a “security system,” or an“automation and security system.” The automation system 100 includessensors 101 (also referred to as security sensors), a control unit 102,monitoring system 103, and remote activation system 131. Communicationlinks 104 (which may be a combination of wired and wirelesscommunication links) couple sensors 101 to control unit 102. Wiredcommunication links may include circuit loops that are either detectedas closed or open. In some embodiments, sensors 101 and control unit 102are located in the same facility, such as in the same residence or inthe same building. Communication link 106 (which may be a wiredtelephone connection, wired or wireless network connection, cellularconnection, etc., or combination thereof) may couple the control unit102 to monitoring system 103. In other embodiments, the system shown inFIG. 1 may be implemented without a monitoring system 103. In certainembodiments, the monitoring system 103 may communicate with multiplecontrol units 102 belonging to other security systems.

Sensors 101 monitor for certain events and report relevant events to thecontrol unit 102. Sensors 101 may include any of a variety of differenttypes of sensors, such as door and window sensors, motion sensors, glassbreak sensors (e.g., sensors that detect a physical break or detectingthe sound of a glass break), etc. The control unit 102 may be configuredto monitor sensors 101 for alarm conditions via communication links 104and to relay alarms to the monitoring system 103 via communication link106. The sensors 101 may, in response to detecting an alarm condition,send an alarm condition message to the control unit 102.

Control unit 102 may include sensor monitoring module 111, userinterface 112, and alarm module 113. Sensor monitoring module 111 isconfigured to monitor sensors 101. Sensors 101 may sense and/or indicatea change in their physical surroundings (e.g., a normally closedconnection becomes open, a signal indicating that the sound of breakingglass was detected, etc.) which may be indicative of an unauthorizedaccess, fire, or other event. The sensors 101 may communicate messageson communication links 104. For example, a circuit connected to a doorsensor 101 may transition from closed to open (or to a resistanceexceeding a pre-determined resistance threshold) indicating that a doorhas been opened. A motion sensor 101 may send an electrical signalindicative of detected motion. Sensor monitoring module 111 may monitorcommunication links 104 for alarm condition messages sent from sensors101. Upon sensor monitoring module 111 receiving an alarm conditionmessage signaling occurrence of an alarm condition, sensor monitoringmodule 111 may send a signal to alarm module 113.

The alarm module 113 may validate the alarm condition has occurredbefore communicating with the monitoring system 103 or generating analarm using the alarm 116. For example, the alarm module 113 mayvalidate an alarm condition indicating that a window is open when thesecurity system is on, but may not validate the same alarm conditionwhen the security system is off.

The alarm module 113 may cause an alarm 116 to generate an alarm signalin response to validating the alarm condition. The alarm 116 may providean audio signal (such as beeping, audio instructions, or other suitableaudio), a visual signal (such as a flashing light), an electronic signal(such as a notification) or some combination thereof to alert a user tothe alarm condition. Where the control unit 102 is associated with oneor more controllers providing building automation features, the controlunit 102 may also use those features to provide an alarm. For example,the control unit 102 may flash one or more interior lights as part ofthe alarm.

User interface 112 may include an input interface and an outputinterface. The input interface may comprise a physical input interfaceor virtual input interface that may include a numeric key pad (e.g., forentering a disarm code, etc.), sensor activation buttons, physicalduress buttons, or other input/output devices. The input interface mayinclude a condenser for receiving audio input and/or communicating withmonitoring system 103. The output interface may include an outputdisplay device that displays system status, such as armed and disarmed,sensors/zones that have detected change in physical surroundings, andother relevant information. The output interface may also include aspeaker that audibly outputs information similar to that displayed onthe output display device. The speaker may also be used by monitoringsystem 103 to communicate with a user of control unit 102. Otherinput/output approaches may also be implemented as part of the userinterface 112.

The control unit 102 may also communicate over a communication link 133with a remote activation system 131. The remote activation system 131may allow a user to interact with the control unit 102 remotely. Forexample, the user may be able to arm and disarm the automation system100 from a mobile device such as a cellular phone using the remoteactivation system 131. In one embodiment, the remote activation system131 includes software installed on the mobile device of the user.

FIG. 2 is a block diagram of one embodiment of a control unit 102.Control unit 102 may include a processor 122, memory 124, transceiver144, and user interface 112. User interface 112 may include variousinput/output (I/O) devices, such as a display 134, which may comprise atouch screen, and keypad 140. Control unit 102 may further include atransceiver 144 for receiving and transmitting data over a network. Itis noted that a “communication interface” as referred to herein maycomprise transceiver 144 and user interface 112. The control unit 102may be capable of communicating over more than one network; for example,the control unit 102 may be capable of communicating with a radiofrequency identification (RFID) tag, a wireless Internet network, acellular network, and others.

Generally, control unit 102 may operate under control of an operatingsystem stored in memory 124 and interfaces with a user to accept inputsand commands and to present outputs through user interface 112. Controlunit 102 may also implement a compiler (not shown) which allows one ormore application programs (not shown) written in a programming languageto be translated into processor-readable code. Instructions implementingan application program may be tangibly embodied in a computer-readablemedium. Further, an application program may include instructions which,when read and executed by processor 122, cause processor 122 to performthe steps necessary to implement and/or use embodiments of the presentdisclosure. It is noted that an application program and/or operatinginstructions may also be tangibly embodied in memory 124 and/or datacommunications devices, thereby making a computer program product orarticle of manufacture according to an embodiment the presentdisclosure. As such, the term “application program” as used herein isintended to encompass a computer program accessible from any computerreadable device or media. Furthermore, portions of the applicationprogram may be distributed such that some of the application program maybe included on a computer readable media within control unit 102, andsome of the application program may be included in a remote device, suchas a remote computer.

The control unit 102 may thus be a component in a security system and/ora building automation system. The control unit 102 may provide securityand/or automation functionality for a residence, an office, a building,or other appropriate space.

In many embodiments, the control unit 102 may be realized as a controlpanel. As used herein, the term “control panel” refers to a standalone,dedicated unit for providing security and/or building automationfunctionality. The term “control panel” does not include a generalpurpose computer, smart phone, tablet, or other general purpose devicethat may run an application providing some security/automationfunctionality.

The control unit 102 may further include a traffic module 200. Thetraffic module 200 may be software, firmware, hardware, or a combinationthereof. The traffic module 200 may be configured to receive informationabout traffic conditions and to communicate information about trafficconditions to the user. The traffic module 200 may also suggest routesto the user, taking into account the traffic conditions.

FIG. 3 illustrates one embodiment of a control unit 300 configured toprovide information about traffic conditions. The control unit 300 maybe configured to receive traffic data for a geographic area associatedwith the control unit 300 and to communicate the traffic data to a userthrough the control unit 300. The user may define the geographic area ofinterest or provide information (such as a location of the facility thatincludes the control unit 300 and one or more common destinations) thatallows the control unit 300 to determine the geographic area. In otherembodiments, the control unit 300 may be configured to determine adefault geographic area for the control unit 300, such as aneighborhood, a city, a county, or other geographic area.

FIG. 3 illustrates the control unit 300 having a display 304. Thedisplay 304 provides visual information for the user, and may also be atouch-screen device capable of accepting inputs. The display 304 mayshow time and date information, and may be used to communicate trafficdata to the user of the control unit 300. In one embodiment, the display304 shows a menu with various options that a user can select to causethe control unit 300 to perform various actions associated with thecontrol unit 300. One menu option may be to display the traffic data onthe display 304 as seen in FIG. 3.

In one embodiment, the control unit 300 automatically communicates thetraffic data to the user through the control unit 300 during certainpredefined time periods. One predefined time period may correspond tothe morning commute time period, and a second predefined time period maycorrespond to the evening commute time period. The user may define thepredefined time periods manually, or provide information allowing thecontrol unit 300 to determine appropriate time periods. For example, theuser may indicate that she leaves for work at between 8:00 and 9:00 inthe morning. The control unit 300 may be configured to automaticallydisplay the map and overlay traffic data, as illustrated in FIG. 3, from7:30 to 9:30 in the morning. At other times of the day, the user mayaccess the traffic data from one or more menus provided by the controlunit 300 as described above.

Similarly, the control unit 300 may display the traffic at certaindestinations at certain times of day. The control unit 300 may, forexample, display the traffic conditions at an individual's place ofemployment at 5:30 so that those in the home with access to the controlunit 300 (such as children) may estimate a time of return.

The control unit 300 may communicate the traffic data to the userthrough the control unit 300 by displaying a map that includes at leasta portion of the geographic area for which the control unit 300 receivestraffic data on the display 304 of the control unit 300. The controlunit 300 may overlay a visual representation of the traffic data ontothe map. The control unit 300 may use colors to indicate the trafficcongestion along roadways shown on the map. The color green may be usedto indicate regular flow of traffic, yellow to indicate slow flow oftraffic, and red to indicate moderate to severe traffic congestion. Thecontrol unit 300 may also use icons to communicate traffic data; forexample, the control unit 300 may use icons to indicate trafficaccidents, construction, detours, or other traffic data that may berelevant to the user. In the embodiment shown in FIG. 3, the map and theoverlayed traffic information are displayed in a traffic conditionswindow 310 of the display 304.

As seen in FIG. 3, the control unit 300 may be aware of one or moreroutes 306 between a starting point and a destination. In FIG. 3, theroute 306 is marked as a heavy black line on the map shown on thetraffic conditions window 310 of the display 304. The control unit 300may be configured to display a traffic status window 312 that includesinformation about traveling the route 306. The traffic status window 312may, for example, report the estimated travel time to complete the route306. The traffic status window 312 may also display information abouttraffic conditions along the route such as accidents, construction, andother conditions affecting traffic such as weather.

In one embodiment, the user enters the route 306. In other embodiments,the control unit 300 receives information about the origin anddestination and determines an appropriate route 306 between the twopoints. The user may have the option to override any route 306 suggestedor provided by the control unit 300. The user may also provide certainparameters to the control unit 300 for determining the route 306; forexample, the user may specify one or more streets to avoid in planningthe route 306.

The control unit 300 may also be configured to provide audiblenotifications comprising traffic data. For example, the control unit 300may provide an audible alert anytime it determines that one or moretraffic conditions, derived from the traffic data, will shorten orlengthen the estimated travel time. The control unit 300 may alsoaudibly alert the user to any traffic incidents (such as an accident orconstruction) along the route 306. The control unit 300 may provide thetraffic data in substantially real time such that the control unit 300dynamically accounts for changes in the traffic data.

In certain embodiments, the control unit 300 is configured tocommunicate a suggested route 306 from an origin to a destination basedon the traffic data. The control unit 300 may, in one embodiment,communicate the suggested route 306 by displaying it on the control unit300 as seen in FIG. 3. The control unit 300 may also communicate thesuggested route 306 by sending it to a mobile electronic device. Thecontrol unit 300 may, for example, send the suggested route as vectorinformation in a Geographic Information System (GIS) file format. Thecontrol unit 300 may be configured to monitor traffic along a pluralityof possible routes 306 and to select the fastest route as the suggestedroute for the user. The control unit 300 may dynamically update andchange the route 306 to account for changes in the traffic conditionsalong the route 306.

In certain embodiments, the control unit 300 may be configured toprovide a “traffic” button on the user interface. The traffic button maybe a soft button or a hard button. The control unit 300 may beconfigured to pull up traffic information and display the trafficinformation for the use as described herein. As a result, the user mayhave easy access to traffic information through the control unit 300.

The control unit 300 may be further configured to share informationconcerning changes in the estimated commute time. For example, if theestimated commute time increases beyond a certain threshold, the controlunit 300 may alert the user to the change in the commute time. In oneembodiment, the control unit 300 alerts the user to the change in thecommute time if the commute time increased beyond 10% of the normalcommute time. Other thresholds (15 minutes; 20%; etc.) may also be used.In one embodiment, the thresholds are user configurable.

FIG. 4 illustrates one embodiment of an automation system 400 includingsensors 401 that are communicatively connected to a control unit 402 bycommunication links 405. The control unit 402 is also illustrated ascommunicatively connected to a television 430 and an intercommunicationssystem (intercom) 440. The control unit 402 may be connected to thetelevision 430 and the intercom 440 by a wired connection, a wirelessconnection, or other suitable communications connection. The controlunit 402 may also be coupled to other devices in addition to (or insteadof) the television 430 and the intercom 440. The control unit 402 may,for example, be a component in a building automation system and thus beconnected to various electronic devices within the facility where thecontrol unit 402 is installed. The control unit 402 may communicateinformation with these electronic devices in order to provide buildingautomation functions. In the embodiment shown in FIG. 4, the controlunit 402 includes a device module 420 that allows the control unit 402to communicate with the various devices having a communicationconnection with the control unit 402. The control unit 402 may beconfigured to communicate information to a user using one or more ofthese electronic devices, as described below.

The control unit 402 is illustrated as having a traffic module 404 thatcomprises a traffic data module 410, a traffic communication module 412,and a route module 414. The traffic data module 410 may be configured toreceive traffic data for a geographic area associated with the controlunit 402. The traffic data module 410 may receive the traffic data froma remote server as further described below.

The traffic communication module 412 may be configured to communicatethe traffic data to a user. The traffic communication module 412 may usethe display 450 of the control unit 402 as discussed in connection withFIG. 3. In another embodiment, the traffic communication module 412 maycommunicate the traffic data through the electronic devices that arecommunicatively coupled to the control unit 402. For example, thetraffic communication module 412 may use the device module 420 todisplay information about traffic conditions on the television 430. Thetelevision 430 may be configured to display a notice that includes theestimated travel time of a route to the user's destination. Thetelevision 430 may display a map with traffic information in a smalldisplay window while showing a television program in the larger window.

The traffic communication module 412 may also communicate the trafficdata through other electronic devices. The traffic communication module412 may, for example, provide audible information about trafficconditions using the intercom 440. The traffic communication module 412may communicate the traffic information through other suitable devicessuch as connected clocks, radios, mobile electronic devices, or othertypes of electronic device. The control unit 402 may provide an alarm towake a user at a certain time; the control unit 402 may use the intercom440 to provide an audible notice as part of the alarm to wake the user,and may provide information about traffic conditions as part of thatalarm.

The traffic communication module 412 may communicate the trafficinformation to the user through multiple channels, such as the display450 of the control unit 402 and one or more of the connected electronicdevices, such as the television 430 and the intercom 440 shown in FIG.4. Such an embodiment may allow the user to remain apprised of relevanttraffic conditions even as the user moves throughout the home or otherlocation associated with the control unit 402. In one embodiment, theuser can turn on and turn off the notifications on the connectedelectronic devices from the control unit 402.

The route module 414 may be configured to determine and communicate asuggested route from an origin to a destination based on the trafficdata. The route module 414 may receive one or more destinations from theuser, determine one or more routes from the location of the control unit402 to the destinations, and designate the fastest route (i.e., theroute that takes the user from the origin to the destination in theshortest period of time) as the suggested route to provide to the user.The route module 414 may be configured to account for traffic using thetraffic data in determining the fastest route.

In certain embodiments, the route module 414 sends the suggested routeto a mobile electronic device 460. The mobile electronic device 460 maybe a cellular phone, a tablet computer, a global position system (GPS)device installed in a vehicle, or other appropriate mobile electronicdevice 460. The user may register one or more mobile electronic devices460 to communicate with the route module 414 of the control unit 402.

In one embodiment, the route module 414 sends the suggested route to themobile electronic device 460 in response to the security systemdetecting a departure of the user associated with the suggested route.The route module 414 may use one or more criteria to determine whetherthe user has departed. In one embodiment, the route module 414 sends thesuggested route in response to the user arming the security systemduring one or more predefined time periods. The route module 414 maysend the suggested route in response to the garage door being opened andsubsequently closed during a predefined time period. The route module414 may send the suggested route in response to a mobile electronicdevice 460 associated with the user (such as a cellular phone) leaving apredefined geographic space within a predefined time period. Otherevents and combinations of events that may indicate the departure of theuser may also be used to cause the route module 414 to send thesuggested route to the mobile electronic device 460.

In one embodiment, the mobile electronic device 460 is configured toshare information about the suggested route with the route module 414.The mobile electronic device 460 may, for example, determine the actualtime that was required for the user to travel the suggested routeprovided by the route module 414. The route module 414 may receive theactual time and compare it to the estimated time. The route module 414may associate the actual time with the traffic conditions that existedwhen the route module 414 determined the estimated time. In this manner,the route module 414 may be configured to learn from the actual time andprovide more accurate estimated times in the future. The route module414 may use an artificial neural network (ANN) or other approach thatallows the route module 414 to learn from the actual time and improvethe model used to generate the estimated time. The route module 414and/or the mobile electronic device 460 may also share the actual timewith a remote server.

FIG. 5 shows one embodiment of a system 500 for providing trafficinformation to one or more users of a control unit. The system 500includes traffic data sources 550, a remote server 510, and controlunits 520 and 530. While FIG. 5 illustrates only two control units, theremote server 510 may be configured to communicate with any number ofcontrol units. Similarly, while FIG. 5 illustrates only one remoteserver 510, any number of physical machines may be configured to providethe functionality of the remote server 510. In one embodiment, theremote server 510 is a virtual machine comprising a plurality ofphysical computing devices.

The remote server 510 may receive traffic data from one or more trafficdata sources 550. The traffic data sources 550 may be one or moreseparate entities that provide traffic data. Some companies act asthird-party traffic data aggregators and collect traffic data fromvarious sources and make it available for third-party use. For example,Google Inc. collects traffic data from traffic sensors and also derivestraffic data from the movement of mobile phones with software developedby Google Inc. installed on them. As the mobile phones move, they maycommunicate movement data to Google Inc., allowing the company to deriveinformation about live traffic conditions. Other companies, such asTomTom NV and INRIX, Inc. may also collect traffic data and make thattraffic data available. Similarly, state agencies, such as a statedepartment of transportation, may collect traffic data from sensors andcameras and make that traffic data available to third-parties. Theremote server 510 may use one or more traffic data sources 550 tocollect traffic data that may be provided to one or more control units520.

The remote server 510 may collect the traffic data and aggregate thetraffic data. Such an embodiment may provide for a more accurate andcomplete picture of traffic conditions for a wide geographic area. Theremote server 510 may save the traffic data in one or more databasesthat are accessible to the control units 520 and 530 that are incommunication with the remote server 510. In one embodiment, the remoteserver 510 is associated with the monitoring system 103 discussed above.In such embodiments, the remote server 510 may provide additionalfeatures, such as sharing information between the monitoring system 103and the control units 520 and 530, providing software updates for thecontrol units 520 and 530, etc.

In certain embodiments, the remote server 510 may collect traffic datadirectly from mobile phones or other portable electronic devices. Theremote server 510 may also collect traffic data from portable electronicdevices associated with the control units 520 and 530 that are incommunication with the remote server 510. For example, the mobile phonesof users of security systems associated with the remote server 510 mayhave applications installed on them that allow users to interact withthe security systems remotely. The applications may be furtherconfigured to collect data about the movement of the mobile phones,which the remote server 510 may convert to traffic data.

The first control unit 520 may be located in a first city, while thesecond control unit 530 may be located in a second city. The firstcontrol unit 520 may be configured to receive traffic data for only thefirst city, while the second control unit 520 receives traffic data forthe second city. The remote server 510 may be aware of the geographicareas associated with each of the control units 520 and 530, and pushtraffic data updates for the geographic areas to the control units 520and 530. In other embodiments, the control units 520 and 530 may pulltraffic data from the remote server 510. The control units 520 and 530may allow the users to dynamically adjust the geographic area by, forexample, zooming in and zooming out on the map, entering the name ofanother city as input, or other ways of adjusting the geographic area.

In certain embodiments, the control units 520 and 530 receive thetraffic data directly from the traffic data sources 550. For example, inone embodiment, the traffic module 200 discussed in connection with FIG.2 is an application executing on the control unit 520 that is configuredto use the Google® Maps Application Programming Interface (API) in orderto receive traffic data for a geographic area and to communicate thetraffic data to the user through the control unit 520 by displaying amap with a traffic layer.

In one embodiment, the control unit 520 comprises web-browser software,and the traffic module 200 comprises the following code executable bythe web-browser:

  <html>   <head>   <title>Google Traffic Layer Map Display for ControlUnit in Salt Lake City</title>   <scripttype=“text/javascript”src=“http://maps.google.com/maps/api/js?sensor=false”></script> <scripttype=  “text/javascript”>   function initialize( )   {   var map = newgoogle.maps.Map(document.getElementById(“map”),   {   zoom: 12,  center: new google.maps.LatLng(40.74, −111.887), mapTypeId:google.maps.MapTypeId.ROADMAP   });   var trafficLayer = newgoogle.maps.TrafficLayer( );   trafficLayer.setMap(map);   }   </script>  </head>   <body onload=“initialize( )”>   <div id=“map” style=“width:600px; height: 320px”></div>   </body>   </html>

The above code example, when executed by a browser, causes the displayof the control unit 520 to display a map with a corresponding trafficlayer indicating traffic conditions.

FIG. 6 illustrates the output of the above code example in the browserwindow when executed by a browser. Other approaches to receiving trafficdata and communicating traffic data other than the example given abovemay also be used. Similarly, the actual code for the traffic module 200may be more complicated and include additional features described hereinbut not included in the code example given above.

While the above code example for the control unit 520 is for Salt LakeCity, the control unit 530 may be for a different city or for adifferent area of Salt Lake City. The users of the control units 520 and530 may define the geographic area for which they desire traffic data.Each control unit 520 and 530 may also be configured to determine adefault geographic area based on information provided by the user and/orinformation provided by the monitoring system 103.

FIG. 7 illustrates one embodiment of a method 700 for providing a userof a control panel with information about traffic conditions. In FIG. 7,the method 700 begins at block 702 with receiving traffic data for ageographic area associated with a control unit for a security system.The control unit may be the device receiving the traffic data, and itmay receive the traffic data from a remote server that aggregatestraffic data, a third-party traffic data aggregator, or other source oftraffic data.

The method 700 may further involve, at block 704, receiving adestination from a user of the security system. The user may, forexample, enter a destination using the control panel, anInternet-connected computing device, or other appropriate device. Theuser may also provide more than one destination. The control panel maystore multiple destinations for multiple users.

The method 700 may also involve, at block 706, estimating a travel timefor one or more routes and providing the route having the shortesttravel time as a suggested route for the user. The traffic data may betaken into account in estimating the travel time for each of thepossible routes. In certain embodiments, the method also involvesreceiving the actual travel time to the destination and adjusting themodel used to estimate the travel times to account for the actual traveltimes. Such an embodiment may allow the control panel, or the otherdevice providing the estimates, to refine the model and provide improvedaccuracy.

The method 700 may include, at block 708, displaying traffic conditionsalong one or more routes from a location of the control unit to thedestination on a display of the control unit. In one embodiment, thecontrol unit displays a map on the control unit's display and overlaysthe traffic conditions such that the user can easily see the state ofthe traffic in real time. In such an embodiment, colors and icons may beused to communicate the traffic conditions to the user. The control unitmay, in one embodiment, limit the display of traffic conditions to thesuggested route.

The method 700 may also include, at block 710, causing one or moreaudio-visual devices communicatively connected to the control unit toprovide information about the traffic conditions. The control unit, forexample, may be part of a building automation system, and may cause thetelevision to display information about traffic conditions during thetime period associated with the morning commute. The control unit may becommunicatively connected to a mobile phone of the user, and may displayinformation about traffic conditions on the display of the mobile phone.Other audio-visual devices other than or in addition to the televisionmay be used to provide information about traffic conditions.

The method 700 may also involve, at block 712, automatically sending thesuggested route to a mobile electronic device of the user. For example,the control panel may send the suggested route to the mobile phone ofthe user when it determines that the user is leaving the facilityassociated with the control unit. The control panel may send thesuggested route to the GPS unit of the user's car at the time ofdeparture.

FIG. 8 illustrates one embodiment of a method 800 for providing a userof a control panel with information about traffic conditions. In FIG. 8,the method 800 begins at block 802 with a step of coupling the controlpanel to at least one of a sensor and a controller of the buildingautomation system. Block 804 includes receiving traffic data for ageographic area associated with the control panel. Block 806 of method800 includes generating at least one audible notification to communicatethe traffic data to a user through the control panel.

Method 800 may also include displaying a map comprising at least aportion of the geographic area on a display of the control panel, andoverlaying a visual representation of the traffic data onto the map. Theat least one audible notification may include at least one of directionsto a specified destination and estimated travel time to a specifieddestination. The at least one audible notification may relate to trafficconditions on one or more predetermined routes. Method 800 may includeautomatically communicate the traffic data to the user through thecontrol panel during at least one predefined time period. A firstpredefined time period may correspond to a morning commute time periodand a second predefined time period corresponds to an evening commutetime period. Method 800 may include communicating the traffic data tothe user through at least one device communicatively coupled to thecontrol panel. The at least one device may include at least one of atelevision, a clock, a radio, and a mobile electronic device. Method 800may include communicating a suggested route to a destination based onthe traffic data. Communicating the suggested route may include sendingthe suggested route to a mobile electronic device in response to theautomation system detecting a departure of the user associated with thesuggested route. The traffic data may include traffic incidents, andmethod 800 includes communicating the traffic incidents to the user. Thetraffic data may be received from a remote server. The geographic areamay be one of a neighborhood, a city, a county, and a user-definedgeographic area.

FIG. 9 illustrates one embodiment of a method 900 for providing a userof a control panel with information about traffic conditions. In FIG. 9,the method 900 begins at block 902, which includes receiving trafficdata of interest to a user of a control unit for a home automationsystem. Block 904 includes automatically communicate the traffic data tothe user through the control panel during at least one predefined timeperiod.

The first predefined time period of method 900 may correspond to amorning commute time period and a second predefined time periodcorresponds to an evening commute time period. Method 900 may includedisplaying a map of a geographic area on a display unit of the controlunit, and overlaying a graphical representation of at least a portion ofthe traffic data over the map of the geographic area displayed on thedisplay unit. Method 900 may include determining at least one suggestedroute to a destination, and estimating an amount of time for travelingthe at least one suggested route. Method 900 may also include receivingan actual time for traveling a suggested route to a destination from amobile electronic device of a user traveling the suggested route, andassociating the actual time with the traffic data for determining futuresuggested routes.

FIG. 10 illustrates one embodiment of a method 1000 for providing a userof a control panel with information about traffic conditions. In FIG.10, the method 1000 begins at block 1002, which includes receivingtraffic data for a geographic area associated with a control unit for ahome automation system. Block 1004 includes receiving a destination froma user of the home automation system. Block 1006 of method 1000 includesdisplaying traffic conditions along at least one route from a locationof the control unit to the destination on a display of the control unit.Block 1008 includes estimating a travel time for each of the one or moreroutes and communicating the route having the shortest travel time as asuggested route for the user. Method 1000 may also include automaticallysending the suggested route to a mobile electronic device of the user.

FIG. 11 depicts a block diagram of a controller 1100 suitable forimplementing the present systems and methods. In one configuration,controller 1100 includes a bus 1105 which interconnects major subsystemsof controller 1100, such as a central processor 1110, a system memory1115 (typically RAM, but which may also include ROM, flash RAM, or thelike), an input/output controller 1120, an external audio device, suchas a speaker system 1125 via an audio output interface 1130, an externaldevice, such as a display screen 1135 via display adapter 1140, an inputdevice 1145 (e.g., remote control device interfaced with an inputcontroller 1150), multiple USB devices 1165 (interfaced with a USBcontroller 1170), and a storage interface 1180. Also included are atleast one sensor 1155 connected to bus 1105 through a sensor controller1160 and a network interface 1185 (coupled directly to bus 1105).

Bus 1105 allows data communication between central processor 1110 andsystem memory 1115, which may include read-only memory (ROM) or flashmemory (neither shown), and random access memory (RAM) (not shown), aspreviously noted. The RAM is generally the main memory into which theoperating system and application programs are loaded. The ROM or flashmemory can contain, among other code, the Basic Input-Output system(BIOS) which controls basic hardware operation such as the interactionwith peripheral components or devices. For example, a traffic module404-a to implement the present systems and methods may be stored withinthe system memory 1115. The traffic module 404-a may be an example ofthe traffic module 404 illustrated in FIG. 4. Applications resident withcontroller 1100 are generally stored on and accessed via anon-transitory computer readable medium, such as a hard disk drive(e.g., fixed disk 1175 ) or other storage medium. Additionally,applications can be in the form of electronic signals modulated inaccordance with the application and data communication technology whenaccessed via interface 1185.

Storage interface 1180, as with the other storage interfaces ofcontroller 1100, can connect to a standard computer readable medium forstorage and/or retrieval of information, such as a fixed disk drive1175. Fixed disk drive 1175 may be a part of controller 1100 or may beseparate and accessed through other interface systems. Network interface1185 may provide a direct connection to a remote server via a directnetwork link to the Internet via a POP (point of presence). Networkinterface 1185 may provide such connection using wireless techniques,including digital cellular telephone connection, Cellular Digital PacketData (CDPD) connection, digital satellite data connection, or the like.In some embodiments, one or more sensors (e.g., motion sensor, smokesensor, glass break sensor, door sensor, window sensor, carbon monoxidesensor, and the like) connect to controller 1100 wirelessly via networkinterface 1185.

Many other devices or subsystems (not shown) may be connected in asimilar manner (e.g., entertainment system, computing device, remotecameras, wireless key fob, wall mounted user interface device, cellradio module, battery, alarm siren, door lock, lighting system,thermostat, home appliance monitor, utility equipment monitor, and soon). Conversely, all of the devices shown in FIG. 11 need not be presentto practice the present systems and methods. The devices and subsystemscan be interconnected in different ways from that shown in FIG. 11. Theaspect of some operations of a system such as that shown in FIG. 11 arereadily known in the art and are not discussed in detail in thisapplication. Code to implement the present disclosure can be stored in anon-transitory computer-readable medium such as one or more of systemmemory 1115 or fixed disk 1175. The operating system provided oncontroller 1100 may be iOS®, ANDROID®, MS-DOS®,MS-WINDOWS®, OS/2®,UNIX®, LINUX®, or another known operating system.

Moreover, regarding the signals described herein, those skilled in theart will recognize that a signal can be directly transmitted from afirst block to a second block, or a signal can be modified (e.g.,amplified, attenuated, delayed, latched, buffered, inverted, filtered,or otherwise modified) between the blocks. Although the signals of theabove described embodiment are characterized as transmitted from oneblock to the next, other embodiments of the present systems and methodsmay include modified signals in place of such directly transmittedsignals as long as the informational and/or functional aspect of thesignal is transmitted between blocks. To some extent, a signal input ata second block can be conceptualized as a second signal derived from afirst signal output from a first block due to physical limitations ofthe circuitry involved (e.g., there will inevitably be some attenuationand delay). Therefore, as used herein, a second signal derived from afirst signal includes the first signal or any modifications to the firstsignal, whether due to circuit limitations or due to passage throughother circuit elements which do not change the informational and/orfinal functional aspect of the first signal.

Although the foregoing description contains many specifics, these shouldnot be construed as limiting the scope of the invention or of any of theappended claims, but merely as providing information pertinent to somespecific embodiments that may fall within the scopes of the inventionand the appended claims. Features from different embodiments may beemployed in combination. In addition, other embodiments of the inventionmay also be devised which lie within the scopes of the invention and theappended claims. The scope of the invention is, therefore, indicated andlimited only by the appended claims and their legal equivalents. Alladditions, deletions and modifications to the invention, as disclosedherein, that fall within the meaning and scopes of the claims are to beembraced by the claims.

While the foregoing disclosure sets forth various embodiments usingspecific block diagrams, flowcharts, and examples, each block diagramcomponent, flowchart step, operation, and/or component described and/orillustrated herein may be implemented, individually and/or collectively,using a wide range of hardware, software, or firmware (or anycombination thereof) configurations. In addition, any disclosure ofcomponents contained within other components should be consideredexemplary in nature since many other architectures may be implemented toachieve the same functionality.

The process parameters and sequence of steps described and/orillustrated herein are given by way of example only and may be varied asdesired. For example, while the steps illustrated and/or describedherein may be shown or discussed in a particular order, these steps donot necessarily need to be performed in the order illustrated ordiscussed. The various exemplary methods described and/or illustratedherein may also omit one or more of the steps described or illustratedherein or include additional steps in addition to those disclosed.

Furthermore, while various embodiments have been described and/orillustrated herein in the context of fully functional computing systems,one or more of these exemplary embodiments may be distributed as aprogram product in a variety of forms, regardless of the particular typeof computer-readable media used to actually carry out the distribution.The embodiments disclosed herein may also be implemented using softwaremodules that perform certain tasks. These software modules may includescript, batch, or other executable files that may be stored on acomputer-readable storage medium or in a computing system. In someembodiments, these software modules may configure a computing system toperform one or more of the exemplary embodiments disclosed herein.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described in order to best explain theprinciples of the present systems and methods and their practicalapplications, to thereby enable others skilled in the art to bestutilize the present systems and methods and various embodiments withvarious modifications as may be suited to the particular usecontemplated.

Unless otherwise noted, the terms “a” or “an,” as used in thespecification and claims, are to be construed as meaning “at least oneof.” In addition, for ease of use, the words “including” and “having,”as used in the specification and claims, are interchangeable with andhave the same meaning as the word “comprising.” In addition, the term“based on” as used in the specification and the claims is to beconstrued as meaning “based at least upon.”

What is claimed is:
 1. A method for traffic monitoring at a wall-mountedhome automation control panel of a security and/or automation system,the method comprising: receiving a destination at an interface of thecontrol panel, the control panel being located in a premises of one ormore occupants and configured to perform security and/or automationfunctions at the premises; determining a route to the destination;monitoring traffic conditions in relation to the determined route, thetraffic conditions comprising traffic congestions, traffic accidents,construction, and weather; identifying a traffic condition that affectsan aspect of the determined route based at least in part on themonitoring; identifying an alternative route to the destination based atleast in part on the identified traffic condition; sending an audiosignal to an intercom located within the premises and associated withthe control panel, the audio signal comprising an audible alert andtext-to-speech information regarding the alternative route and theidentified traffic condition that affects the determined route; anddisplaying a map comprising at least a portion of the alternative routeon a display of the control panel based at least in part on identifyingthe alternative route.
 2. The method of claim 1, comprising: overlayinga visual representation of the monitored traffic conditions onto themap.
 3. The method of claim 1, wherein the audio signal comprisesaudibly communicated traffic data, audibly communicated traffic dataincluding at least one of a travel distance of the alternative route,travel time of the alternative route, and directions for the alternativeroute.
 4. The method of claim 3, wherein the audibly communicatedtraffic data includes at least one of a travel distance of thedetermined route based on the identified traffic condition, travel timeof the determined route based on the identified traffic condition, orany combination thereof.
 5. The method of claim 1, comprising:automatically communicate, through the interface of the control panelduring at least one predefined time period, information related to atleast one of the determined route, the alternative route, the monitoredtraffic conditions, the identified traffic condition, or any combinationthereof, the information communicated comprising at least one of audiobased information and visual based information.
 6. The method of claim5, wherein a first predefined time period corresponds to a morningcommute time period and a second predefined time period corresponds toan evening commute time period.
 7. The method of claim 1, comprising:communicating a notification to a remote device associated with thecontrol panel, the notification comprising information related to atleast one of the determined route, the alternative route, the monitoredtraffic conditions, the identified traffic condition, or any combinationthereof.
 8. The method of claim 7, wherein the remote device comprisesat least one of a television, a clock, a radio, a device automated bythe control panel, and a mobile computing device.
 9. The method of claim1, comprising: associating an occupant of the premises with thedetermined route; and sending the alternative route to a mobilecomputing device in response to detecting a departure of the occupantfrom the premises.
 10. The method of claim 1, further comprising:sending the audio signal to one or more speakers associated with thecontrol panel, wherein the one or more speakers comprises at least oneof a speaker enclosed in the control panel, a speaker of a television, aspeaker of a radio, a speaker of a clock, a speaker of a mobilecomputing device, or any combination thereof.
 11. A wall-mounted homeautomation control panel for a home automation and security system, thecontrol panel comprising: a processor; a memory in electroniccommunication with the processor; and instructions stored in the memory,the instructions being executable by the processor to: receive adestination at an interface of the control panel, the control panelbeing located in a premises of one or more occupants and configured toperform automation and/or security functions at the premises; determinea route to the destination; monitor traffic conditions in relation tothe determined route, the traffic conditions comprising trafficcongestions, traffic accidents, construction, and weather; identify atraffic condition that affects an aspect of the determined route basedat least in part on the monitoring of the traffic conditions; identifyan alternative route to the destination based at least in part on theidentified traffic condition; send an audio signal to an intercomlocated within the premises and associated with the control panel, theaudio signal comprising an audible alert and text-to-speech informationregarding the alternative route and the identified traffic conditionthat affects the determined route; and display a map comprising at leasta portion of the alternative route on a display of the control panelbased at least in part on identifying the alternative route.
 12. Thecontrol panel of claim 11, wherein the instructions are executable bythe processor to: overlay a visual representation of the monitoredtraffic conditions onto the map.
 13. The control panel of claim 11,wherein the audio signal comprises audibly communicated traffic data,audibly communicated traffic data including at least one of traveldistance of the alternative route, travel time of the alternative route,and directions for the alternative route.
 14. The control panel of claim13, wherein the audibly communicated traffic data includes at least oneof a travel distance of the determined route based on the identifiedtraffic condition, travel time of the determined route based on theidentified traffic condition, or any combination thereof.
 15. Thecontrol panel of claim 11, wherein the instructions are executable bythe processor to: automatically communicate, through the interface ofthe control panel during at least one predefined time period,information related to at least one of the determined route, thealternative route, the monitored traffic conditions, the identifiedtraffic condition, or any combination thereof, the informationcommunicated comprising at least one of audio based information andvisual based information.
 16. The control panel of claim 15, wherein afirst predefined time period corresponds to a morning commute timeperiod and a second predefined time period corresponds to an eveningcommute time period.
 17. The control panel of claim 11, wherein theinstructions are executable by the processor to: communicate anotification to a remote device associated with the control panel, thenotification comprising information related to at least one of thedetermined route, the alternative route, the monitored trafficconditions, the identified traffic condition, or any combinationthereof.
 18. The control panel of claim 11, wherein the instructions areexecutable by the processor to: associate an occupant of the premiseswith the determined route; and send the alternative route to a mobilecomputing device in response to detecting a departure of the occupantfrom the premises.
 19. A non-transitory computer-readable storage mediumstoring computer executable instructions that when executed by aprocessor of a wall-mounted home automation control panel of a securityand/or automation system cause the processor to: receive a destinationat an interface of the control panel, the control panel being located ina premises of one or more occupants and configured to perform securityand/or automation functions at the premises; determine a route to thedestination; monitor traffic conditions in relation to the determinedroute, the traffic conditions comprising traffic congestions, trafficaccidents, construction, and weather; identify a traffic condition thataffects an aspect of the determined route based at least in part on themonitoring of the traffic conditions; identify an alternative route tothe destination based at least in part on the identified trafficcondition; send an audio signal to an intercom located within thepremises and associated with the control panel, the audio signalcomprising an audible alert and text-to-speech information regarding thealternative route and the identified traffic condition that affects thedetermined route; and display a map comprising at least a portion of thealternative route on a display of the control panel based at least inpart on identifying the alternative route.
 20. The computer-readablestorage medium of claim 19, wherein instructions are further executableby the processor to: overlay a visual representation of the monitoredtraffic conditions onto the map.